include_rules = [
    # To only allow a subset of base/ in Blink, we explicitly list all
    # directories and files instead of writing 'base/'.
    "+base/allocator/buildflags.h",
    "+base/allocator/partition_allocator",
    "+base/android/build_info.h",
    "+base/android/sys_utils.h",
    "+base/atomic_ref_count.h",
    "+base/at_exit.h",
    "+base/bit_cast.h",
    "+base/command_line.h",
    "+base/compiler_specific.h",
    "+base/containers/flat_map.h",
    "+base/cpu.h",
    "+base/feature_list.h",
    "+base/files",
    "+base/functional/bind.h",
    "+base/functional/callback_helpers.h",
    "+base/guid.h",
    "+base/i18n/icu_util.h",
    "+base/json",
    "+base/lazy_instance.h",
    "+base/location.h",
    "+base/logging.h",
    "+base/mac/mac_util.h",
    "+base/memory",
    "+base/memory/shared_memory.h",
    "+base/message_loop/message_loop.h",
    "+base/metrics/histogram_base.h",
    "+base/metrics/histogram_functions.h",
    "+base/metrics/histogram_macros.h",
    "+base/metrics/histogram_samples.h",
    "+base/metrics/histogram.h",
    "+base/metrics/sparse_histogram.h",
    "+base/no_destructor.h",
    "+base/numerics/checked_math.h",
    "+base/numerics/safe_conversions.h",
    "+base/observer_list_threadsafe.h",
    "+base/observer_list.h",
    "+base/process/memory.h",
    "+base/rand_util.h",
    "+base/run_loop.h",
    "+base/strings/pattern.h",
    "+base/strings/string_number_conversions.h",
    "+base/strings/string_piece.h",
    "+base/strings/string_split.h",
    "+base/strings/string_util.h",
    "+base/strings/string_util.h",
    "+base/strings/stringprintf.h",
    "+base/synchronization/waitable_event.h",
    "+base/system/sys_info.h",
    "+base/task/common/lazy_now.h",
    "+base/task/delay_policy.h",
    "+base/task/delayed_task_handle.h",
    "+base/task/sequence_manager/task_time_observer.h",
    "+base/test",
    "+base/test/fuzzed_data_provider.h",
    "+base/threading/platform_thread.h",
    "+base/threading/thread_restrictions.h",
    "+base/threading/thread_task_runner_handle.h",
    "+base/time",
    "+base/timer",
    "+base/trace_event",
    "+base/tracing",
    "+base/unguessable_token.h",
    "+base/uuid.h",
    "+base/values.h",
    "+net/base/filename_util.h",
    "+net/http/http_util.h",
    "+net/http/http_request_headers.h",
    "+net/http/http_response_headers.h",
    "+device",
    "+gpu/GLES2",
    "+gpu/command_buffer/common/sync_token.h",
    "+mojo/core/embedder/embedder.h",
    "+mojo/public",
    "+mozilla",
    "+services/metrics/public/cpp/metrics_utils.h",
    "+services/metrics/public/cpp/ukm_builders.h",
    "+services/metrics/public/cpp/ukm_entry_builder.h",
    "+services/metrics/public/cpp/ukm_recorder.h",
    "+services/metrics/public/cpp/ukm_source_id.h",
    "+services/network/public/cpp",
    "+services/network/public/mojom",
    "+services/viz/public/mojom/compositing/compositor_frame_sink.mojom-blink.h",
    "+skia/ext",
    #TODO(nverne): remove this
    "+third_party/blink/public/web/blink.h",
    "+third_party/ced/src/compact_enc_det/compact_enc_det.h",
    "+third_party/khronos",
    "+third_party/skia",
    "+ui/base/cursor/cursor.h",
    "+ui/base/prediction",
    "+ui/base/resource/resource_scale_factor.h",
    "+ui/display/display.h",
    "+ui/display/mojom",
    "+ui/display/screen_info.h",
    "+ui/display/screen_infos.h",
    "+ui/gfx",
    "+url",
    "+webp",
    "+build/mac",
    "+build/win",
    "-third_party/blink/renderer/bindings",
    "-third_party/blink/renderer/core",
    "-third_party/blink/renderer/modules",
]

specific_include_rules = {
    "crypto\.(cc|h)": [
        "+crypto",
        "+third_party/boringssl/src/include",
    ],
    "platform.cc": [
        "+components/viz/common/gpu/raster_context_provider.h",
        "+gpu/ipc/client/gpu_channel_host.h",
    ],
    "web_url_error\.cc": [
        "+net/base/net_errors.h"
    ],
    "ukm_time_aggregator_test.cc" : [
        "+components/ukm/test_ukm_recorder.h"
    ],
    "search_engine_utils.cc": [
        "+components/search_engines/search_engine_utils.h"
    ],
}
